package com.service;


import com.baseEnum.CourseType;
import com.common.domain.Pageable;
import com.entity.SelectCourse;
import com.entity.Student;

import java.util.List;
import java.util.Map;

/**
 * linjie.jin
 * Created by admin on 2016/1/7.
 */
public interface IStudentService {

    /**
     * 根据自己的学号查询课表
     * @param stuNo
     * @return
     * @author linjie.jin
     */
    SelectCourse find(String stuNo);

    /**
     * 保存选课列表
     * @param selectCourse
     * @author linjie.jin
     */
    void save(SelectCourse selectCourse);

    /**
     * 选课列表
     * @return
     * @author linjie.jin
     */
    List<Map> findPage(Pageable pageable, CourseType courseType);

    /**
     * 跳转到增加页面进行选课
     * @return
     * @author linjie.jin
     */
    List<Map> getDetailCourse(Integer id);

    /**
     * 根据学号查询选修课
     * @param stuNo
     * @return
     * @author linjie.jin
     */
    Long selectCount(String stuNo,CourseType courseType);

    /**
     * 查询学生的每门课的分数
     * @return
     */
    List<Map> selectGrade(String stuNo);

    /**
     * 查询学生信息
     *
     * @return
     * @author foshou.zhang
     */
    List<Map> selectAllStuInfo();

    /**
     * 根据学号查询学生信息
     *
     * @param stuNo
     * @return
     * @author foshou.zhang
     */
    Student getStudentByStuNo(String stuNo);

    /**
     * @param student
     * @author foshou.zhang
     */
    void updateStudent(Student student);
}
